let userInfo = {}
const db = wx.cloud.database()
const app = getApp()

Component({
    /**
     * 组件的属性列表
     */
    properties: {
        blogId: String,
        blog: Object
    },

    externalClasses: [
        'iconfont',      
        'icon-pinglun',
        'icon-fenxiang'
    ],

    /**
     * 组件的初始数据
     */
    data: {
        modalShow: false,
        content: '',
        nickname: '',
        avatarUrl: ''
    },

    /**
     * 组件的方法列表
     */
    methods: {
        // 点击“评论”按钮的交互
        onComment() {
            // 20221128小程序用户头像昵称获取规则调整
            // 判断本地存储中是否有用户信息
            // 用户信息在本地存储，key为openid + '-userinfo'
            const {
                openid
            } = app.globalData
            wx.getStorage({
                key: openid + '-userinfo',
                success: (res) => {
                    const {
                        nickname,
                        avatarFileId
                    } = res.data
                    this.data.nickname = nickname
                    this.data.avatarUrl = avatarFileId
                    this.setData({
                        modalShow: true
                    })
                },
                fail() {
                    // 如果不存在用户信息，就跳转到用户信息配置页面
                    wx.showToast({
                        icon: 'loading',
                        title: '请配置用户信息',
                    })
                    setTimeout(() => {
                        wx.navigateTo({
                            url: '../userinfo/userinfo',
                        })
                    }, 1500)
                }
            })
        },

        // 监听文本框的输入
        onInput(event) {
            this.setData({
                content: event.detail.value
            })
        },

        // 点击“发送”按钮的交互
        onSend() {
            const content = this.data.content
            if (content.trim() === '') {
                wx.showToast({
                    icon: 'none',
                    title: '评论内容不能为空',
                })
                return
            }

            wx.showLoading({
                title: '评论中',
            })
            db.collection('blog-comment').add({
                data: {
                    content,
                    createTime: db.serverDate(),
                    blogId: this.properties.blogId,
                    nickname: this.data.nickname,
                    avatarUrl: this.data.avatarUrl
                }
            }).then(res => {
                wx.hideLoading()
                wx.showToast({
                    title: '评论成功'
                })
                this.setData({
                    modalShow: false,
                    content: ''
                })

                // 父元素刷新评论页面
                this.triggerEvent('refreshCommentList')
            })
        }
    }
})